The Motion Pictures Experts Group (MPEG) coding system which utilizes an interframe difference is often used as a technique for performing compression coding (hereinafter simply referred to as “coding”) on video data. MPEG-2 (ISO/IEC13818-2) and MPEG-4 (ISO/IEC14496-2) have been used conventionally as the MPEG coding systems. In addition, new coding systems such as H.264/MPEG-4AVC (ISO/IEC14496-10) (hereinafter simply referred to as “H.264”) or VC-1 (SMPTE 421M) have come into use in recent years.
According to such coding systems, a single picture plane (picture) is divided into blocks each having the predetermined number of pixels (luma component: 16×16 pixels), and decoding or coding is performed on a block by block basis. The pixel block is called macroblock.
According to the new coding systems represented by H.264, when coding a macroblock, the correlation between a current macroblock to be processed and a macroblock neighbouring on the current macroblock (hereinafter referred to as an neighbouring macroblock) is utilized to increase compression efficiency. That means there is a positional dependency in the new coding systems.
FIG. 22 is a diagram which shows a positional dependency according to H.264.
To be specific, when decoding or coding a macroblock as a current macroblock to be processed, it is necessary to refer to the results of processing four neighbouring macroblocks including a left neighbouring macroblock A, an upper left neighbouring macroblock D, an upside neighbouring macroblock B, and an upper right neighbouring macroblock C, as shown in FIG. 22.
For that reason, the neighbouring macroblocks need to be decoded or coded in advance. In other words, there is a positional dependency between the left neighbouring macroblock A, the upper left neighbouring macroblock D, the upside neighbouring macroblock B, and the upper right neighbouring macroblock C in decoding processing and coding processing.
For carrying out parallel processing by using plural decoding units that decode a macroblock or coding units that code a macroblock, in order to perform decoding or coding at high speed, it is necessary to solve the positional dependency. In Patent Literature 1, a method for solving the positional dependency is provided.
FIG. 23 is a diagram which shows the procedure of an image decoding apparatus and an image coding apparatus described in the above-mentioned Patent Literature 1. The number given to each macroblock MB indicates a processing order when the macroblock is decoded or coded. That means the macroblocks MB having the same number are processed concurrently in parallel.
As shown in FIG. 23, the image decoding apparatus and the image coding apparatus of the above-mentioned Patent Literature 1 start processing from the upper left macroblock MB of a picture Pic and, when processing a given macroblock MB, process, in parallel, a macroblock MB located at the left side by two columns on a row under the given macroblock MB, thereby solving the positional dependency described above.